﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataAccessLayer;

namespace BusinessLogicLayer
{
    public class LichTangCaBLL
    {
        QuanLyChamCongDataContext DB = new QuanLyChamCongDataContext();
        public List<DGVLICHTANGCA> LayTatCaTheoNam(int _nam)
        {
            //return DB.LICHTANGCAs.Where(n => n.Ngay.Year == _nam).ToList();
            List<DGVLICHTANGCA> ls = (from a in DB.LICHTANGCAs
                                      orderby a.Ngay descending
                                      where a.Ngay.Year == _nam
                                      select new DGVLICHTANGCA()
                                      {
                                          Ngay = a.Ngay,
                                          LyDo = a.LyDo
                                      }).Distinct().ToList();
            return ls;
        }

        public void ThemLichTC(LICHTANGCA ltc)
        {
            DB.LICHTANGCAs.InsertOnSubmit(ltc);
            DB.SubmitChanges();
        }

        public void Xoa(DateTime ngay)
        {
            //List<LICHTANGCA> tc = (from a in DB.LICHTANGCAs
            //                       where a.Ngay == ngay.Date
            //                       select a).ToList();
            var tc = DB.LICHTANGCAs.Where(a => a.Ngay == ngay).ToList();
            foreach (var i in tc)
            {
                DB.LICHTANGCAs.DeleteOnSubmit(i);
                DB.SubmitChanges();
            }
        }

        public string LayLyDo(DateTime ngay)
        {
            LICHTANGCA tc = DB.LICHTANGCAs.FirstOrDefault(a => a.Ngay == ngay);
            return tc.LyDo;
        }

        public List<int> LayPB(DateTime ngay)
        {
            List<int> mapb = (from a in DB.LICHTANGCAs
                              where a.Ngay == ngay
                              select a.MaPB.Value).ToList();
            return mapb;
        }

        public bool KiemTraTangCa(DateTime ngay, int maNV)
        {
            NhanVienBLL nvBLL = new NhanVienBLL();
            int mapb = nvBLL.TimPhongBan(maNV);
            if (DB.LICHTANGCAs.Any(a => a.Ngay == ngay && a.MaPB == mapb))
                return true;
            else
                return false;
        }

    }
}
